package com.jeeplus.modules.guide.web;

import com.jeeplus.common.json.AjaxJson;
import com.jeeplus.common.utils.StringUtils;
import com.jeeplus.modules.guide.service.LegalPersonInfoService;
import com.jeeplus.modules.guide.utils.AESEncryptionUtils;
import com.jeeplus.modules.sys.utils.UserUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import net.sf.json.JSONObject;
import org.hibernate.validator.constraints.Length;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

/**
 * 法人信息对接接口
 */
@RestController
@RequestMapping("/legalPersonInfo")
@RequiredArgsConstructor
public class LegalPersonInfoController {
    @Value("${LEGALPERSON_KEY}")
    private String LEGALPERSON_KEY;
    private final LegalPersonInfoService legalPersonInfoService;

    private static final Logger log = LoggerFactory.getLogger(LegalPersonInfoController.class);

    @PostMapping(value ="getLegalPersonInfo")
    public AjaxJson getLegalPersonInfo(String loginName){
        if(null!=loginName && !"".equals(loginName)){
            Map<String, String> legalPersonInfoByLoginName = legalPersonInfoService.findLegalPersonInfoByLoginName(loginName);
            if (legalPersonInfoByLoginName!=null && !legalPersonInfoByLoginName.isEmpty()) {
                String a="";
                try {
                    JSONObject jsonObject = JSONObject.fromObject(legalPersonInfoByLoginName);
                    a = AESEncryptionUtils.aesEncrypt(jsonObject.toString(), LEGALPERSON_KEY);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                log.error("法人信息："+legalPersonInfoByLoginName);
                return AjaxJson.success("请求成功！").put("data",a);
            }else {
                log.error("未查找到该法人信息");
                return AjaxJson.error("未查找到该法人信息！").put("code",400);
            }
        }else{
            return AjaxJson.error("参数异常！").put("code",400);
        }


    }
    @GetMapping(value ="getLoginName")
    public AjaxJson getLoginName(){
         String loginName = UserUtils.getUser().getLoginName();
        Map<String, String> legalPersonInfoByLoginName = legalPersonInfoService.findLegalPersonInfoByLoginName(loginName);
        if (legalPersonInfoByLoginName!=null && !legalPersonInfoByLoginName.isEmpty()) {
            return AjaxJson.success("请求成功！").put("loginName", loginName);
        }else {
            return AjaxJson.success("请求成功！").put("loginName", "");
        }


    }
}
